ligato / sfc-controller

Service Function Chain (SFC) Controller for stitching virtual and physical networking
Apache License 2.0
44 stars 29 forks source link

field name is invalid: VPP interface logical name exceeds the length limit (63 characters) #33

Open stanislav-chlebec opened 5 years ago

stanislav-chlebec commented 5 years ago

sfc-controller generates probably logical interface names too long to digest by VPP. I got this error message from ligato/vpp-agent

  • executed operations (2019-03-22 10:34:30.507 +0000 UTC -> 2019-03-22 10:34:30.507 +0000 UTC, dur: 0s):
    1. DELETE [NOOP]:
      • key: config/vpp/v2/interfaces/IF_VXLAN_L2PP_NET_SRVC_Y_CONN_1_FROM_contivvpp_vnf3_p1_TO_vppagent_vnf4_p1_VNI_5001
      • value: { name:"IF_VXLAN_L2PP_NET_SRVC_Y_CONN_1_FROM_contivvpp_vnf3_p1_TO_vppagent_vnf4_p1_VNI_5001" type:VXLAN_TUNNEL enabled:true vxlan:<src_address:"192.168.30.30" dst_address:"192.168.30.31" vni:5001 > }
      • prev-error: field name is invalid: VPP interface logical name exceeds the length limit (63 characters)

Here is configuration file for sfc-controller it is taken from https://github.com/contiv/vpp/blob/master/k8s/examples/sfc-controller/sfc-controller.yaml: sfc.conf: | sfc_controller_config_version: 2 description: 2 vnf chains spanning 2 hosts, memif's and vxlan tunnels

system_parameters:
  memif_directory: "/var/run/contiv"

ipam_pools:  # allocate internode vxlan mesh enpoints from a pool
  - metadata:
      name: "Q"
      labels:
    spec:
      scope: system
      network: 192.168.30.0/24
      start_range: 30
      end_range: 40

network_nodes:
  - metadata:
      name: "K0"
    spec:
      node_type: host
      interfaces:
        - name: VirtualFunctionEthernet1/0/2
          bypass_renderer: true
          if_type: ethernet
          ip_addresses:
            - "192.168.16.1/24"
  - metadata:
      name: "K1"
    spec:
      node_type: host
      interfaces:
        - name: VirtualFunctionEthernet1/0/2
          bypass_renderer: true
          if_type: ethernet
          ip_addresses:
            - "192.168.16.2/24"

network_services:
  - metadata:
      name: "X"
    spec:
      network_pods:
        - metadata:
            name: vnf1
          spec:
            pod_type: vppcontainer
            interfaces:
              - name: "p1"
                if_type: memif
                ip_addresses:
                  - "10.0.1.1/24"
        - metadata:
            name: vnf2
          spec:
            pod_type: vppcontainer
            interfaces:
              - name: "p1"
                if_type: memif
                ip_addresses:
                  - "10.0.1.2/24"
      connections:
        - conn_type: l2pp
          conn_method: vswitch
          network_node_overlay_name: "Z"
          pod_interfaces:
            - vnf1/p1
            - vnf2/p1
  - metadata:
      name: "Y"
    spec:
      network_pods:
        - metadata:
            name: vnf3
          spec:
            pod_type: vppcontainer
            interfaces:
              - name: "p1"
                if_type: memif
                ip_addresses:
                  - "10.0.1.1/24"
        - metadata:
            name: vnf4
          spec:
            pod_type: vppcontainer
            interfaces:
              - name: "p1"
                if_type: memif
                ip_addresses:
                  - "10.0.1.2/24"
      connections:
        - conn_type: l2pp
          conn_method: vswitch
          network_node_overlay_name: "Z"
          pod_interfaces:
            - vnf3/p1
            - vnf4/p1

network_node_overlays:
  - metadata:
      name: "Z"
    spec:
      service_mesh_type: mesh
      connection_type: vxlan
      vxlan_mesh_parms:
        vni_range_start: 5000
        vni_range_end: 5999
        loopback_ipam_pool_name: Q
        create_loopback_interface: true
        create_loopback_static_routes: true
jhnbrns commented 5 years ago

I will find out about this. I did not realize there is a limit.

On Fri, Mar 22, 2019 at 3:59 AM stanislav-chlebec notifications@github.com wrote:

sfc-controller generates probably logical interface names too long to digest by VPP. I got this error message from ligato/vpp-agent

  • executed operations (2019-03-22 10:34:30.507 +0000 UTC -> 2019-03-22 10:34:30.507 +0000 UTC, dur: 0s):

    1. DELETE [NOOP]:
      • key: config/vpp/v2/interfaces/IF_VXLAN_L2PP_NET_SRVC_Y_CONN_1_FROM_contivvpp_vnf3_p1_TO_vppagent_vnf4_p1_VNI_5001
      • value: { name:"IF_VXLAN_L2PP_NET_SRVC_Y_CONN_1_FROM_contivvpp_vnf3_p1_TO_vppagent_vnf4_p1_VNI_5001" type:VXLAN_TUNNEL enabled:true vxlan:<src_address:"192.168.30.30" dst_address:"192.168.30.31" vni:5001 > }
      • prev-error: field name is invalid: VPP interface logical name exceeds the length limit (63 characters)

Here is configuration file for sfc-controller it is taken from https://github.com/contiv/vpp/blob/master/k8s/examples/sfc-controller/sfc-controller.yaml : sfc.conf: | sfc_controller_config_version: 2 description: 2 vnf chains spanning 2 hosts, memif's and vxlan tunnels

system_parameters: memif_directory: "/var/run/contiv"

ipam_pools: # allocate internode vxlan mesh enpoints from a pool

  • metadata: name: "Q" labels: spec: scope: system network: 192.168.30.0/24 start_range: 30 end_range: 40

network_nodes:

  • metadata: name: "K0" spec: node_type: host interfaces:
    • name: VirtualFunctionEthernet1/0/2 bypass_renderer: true if_type: ethernet ip_addresses:
      • "192.168.16.1/24"
  • metadata: name: "K1" spec: node_type: host interfaces:
    • name: VirtualFunctionEthernet1/0/2 bypass_renderer: true if_type: ethernet ip_addresses:
      • "192.168.16.2/24"

network_services:

  • metadata: name: "X" spec: network_pods:
    • metadata: name: vnf1 spec: pod_type: vppcontainer interfaces:
      • name: "p1" if_type: memif ip_addresses:
        • "10.0.1.1/24"
    • metadata: name: vnf2 spec: pod_type: vppcontainer interfaces:
      • name: "p1" if_type: memif ip_addresses:
        • "10.0.1.2/24" connections:
    • conn_type: l2pp conn_method: vswitch network_node_overlay_name: "Z" pod_interfaces:
      • vnf1/p1
      • vnf2/p1
  • metadata: name: "Y" spec: network_pods:
    • metadata: name: vnf3 spec: pod_type: vppcontainer interfaces:
      • name: "p1" if_type: memif ip_addresses:
        • "10.0.1.1/24"
    • metadata: name: vnf4 spec: pod_type: vppcontainer interfaces:
      • name: "p1" if_type: memif ip_addresses:
        • "10.0.1.2/24" connections:
    • conn_type: l2pp conn_method: vswitch network_node_overlay_name: "Z" pod_interfaces:
      • vnf3/p1
      • vnf4/p1

network_node_overlays:

  • metadata: name: "Z" spec: service_mesh_type: mesh connection_type: vxlan vxlan_mesh_parms: vni_range_start: 5000 vni_range_end: 5999 loopback_ipam_pool_name: Q create_loopback_interface: true create_loopback_static_routes: true

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ligato/sfc-controller/issues/33, or mute the thread https://github.com/notifications/unsubscribe-auth/AJqqIZ29ztPDmRbAoy96UUHm9_abU0Uxks5vZLeEgaJpZM4cDUpf .

-- Regards, John Burns

stanislav-chlebec commented 5 years ago

https://github.com/ligato/sfc-controller/issues/29#issuecomment-478945489