Uploaded image for project: 'openflowjava'
  1. openflowjava
  2. OPNFLWJAVA-67

Setting CFI bit in 802.1Q header not working in Li-SR2

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • None
    • unspecified
    • General
    • None
    • Operating System: All
      Platform: All

    • 4639

      I am trying to set the CFI bit in the VLAN TCI header. The REST call
      returns 200 OK, but the instruction is not sent via the OpenFlow
      protocol. Only the VID and PCP are set.

      Also, cfi is defined inconsistantly. In opendaylight-action-types.yang
      it is defined as int32, in openflow-extensible-match.yang as boolean.

      Json code, tshark packet capture, and yang parts are below:

      -------------------------------------------------------------
      {
      "table": [
      {
      "id": "0",
      "flow": [
      {
      "id": "11",
      "match": {
      "in-port": "78",
      "ethernet-match": {
      "ethernet-type":

      { "type": "0x800" }

      },
      "vlan-match": {
      "vlan-id":

      { "vlan-id-present": "true", "vlan-id": "3170" }

      }
      },
      "instructions": {
      "instruction": [
      {
      "order": "1",
      "apply-actions": {
      "action": [
      {
      "set-vlan-id-action":

      { "vlan-id": "123" }

      ,
      "order": "1"
      },
      {
      "set-vlan-cfi-action":

      { "vlan-cfi": "1" }

      ,
      "order": "2"
      },
      {
      "set-vlan-pcp-action":

      { "vlan-pcp": "3" }

      ,
      "order": "3"
      },
      {
      "output-action":

      { "output-node-connector": "40" }

      ,
      "order": "4"
      }
      ]
      }
      }
      ]
      },
      "flow-name": "sender-to-loop",
      "table_id": "0"
      }
      ]
      }
      ]
      }

      -------------------------------------------------------------

      -------------------------------------------------------------
      Frame 125313: 194 bytes on wire (1552 bits), 194 bytes captured (1552 bits) on interface 0
      Interface id: 0 (eth0)
      Encapsulation type: Ethernet (1)
      Arrival Time: Nov 4, 2015 11:41:17.802142000 CET
      [Time shift for this packet: 0.000000000 seconds]
      Epoch Time: 1446633677.802142000 seconds
      [Time delta from previous captured frame: 0.000642000 seconds]
      [Time delta from previous displayed frame: 16.306840000 seconds]
      [Time since reference or first frame: 331.784363000 seconds]
      Frame Number: 125313
      Frame Length: 194 bytes (1552 bits)
      Capture Length: 194 bytes (1552 bits)
      [Frame is marked: False]
      [Frame is ignored: False]
      [Protocols in frame: eth:ethertype:ip:tcp:openflow:openflow_v4]
      Ethernet II, Src: fa:16:3e:8d:36:d8 (fa:16:3e:8d:36:d8), Dst: fa:16:3e:4f:a4:84 (fa:16:3e:4f:a4:84)
      Destination: fa:16:3e:4f:a4:84 (fa:16:3e:4f:a4:84)
      Address: fa:16:3e:4f:a4:84 (fa:16:3e:4f:a4:84)
      .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
      .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
      Source: fa:16:3e:8d:36:d8 (fa:16:3e:8d:36:d8)
      Address: fa:16:3e:8d:36:d8 (fa:16:3e:8d:36:d8)
      .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
      .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
      Type: IP (0x0800)
      Internet Protocol Version 4, Src: 10.1.1.7 (10.1.1.7), Dst: XXX.XXX.25.23 (XXX.XXX.25.23)
      Version: 4
      Header Length: 20 bytes
      Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
      0000 00.. = Differentiated Services Codepoint: Default (0x00)
      .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
      Total Length: 180
      Identification: 0xb570 (46448)
      Flags: 0x02 (Don't Fragment)
      0... .... = Reserved bit: Not set
      .1.. .... = Don't fragment: Set
      ..0. .... = More fragments: Not set
      Fragment offset: 0
      Time to live: 64
      Protocol: TCP (6)
      Header checksum: 0x9e09 [validation disabled]
      [Good: False]
      [Bad: False]
      Source: 10.1.1.7 (10.1.1.7)
      Destination: XXX.XXX.25.23 (XXX.XXX.25.23)
      [Source GeoIP: Unknown]
      [Destination GeoIP: Unknown]
      Transmission Control Protocol, Src Port: 6633 (6633), Dst Port: 60176 (60176), Seq: 1521169, Ack: 1775593, Len: 128
      Source Port: 6633 (6633)
      Destination Port: 60176 (60176)
      [Stream index: 2]
      [TCP Segment Len: 128]
      Sequence number: 1521169 (relative sequence number)
      [Next sequence number: 1521297 (relative sequence number)]
      Acknowledgment number: 1775593 (relative ack number)
      Header Length: 32 bytes
      .... 0000 0001 1000 = Flags: 0x018 (PSH, ACK)
      000. .... .... = Reserved: Not set
      ...0 .... .... = Nonce: Not set
      .... 0... .... = Congestion Window Reduced (CWR): Not set
      .... .0.. .... = ECN-Echo: Not set
      .... ..0. .... = Urgent: Not set
      .... ...1 .... = Acknowledgment: Set
      .... .... 1... = Push: Set
      .... .... .0.. = Reset: Not set
      .... .... ..0. = Syn: Not set
      .... .... ...0 = Fin: Not set
      Window size value: 1452
      [Calculated window size: 1452]
      [Window size scaling factor: -1 (unknown)]
      Checksum: 0xe770 [validation disabled]
      [Good Checksum: False]
      [Bad Checksum: False]
      Urgent pointer: 0
      Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
      No-Operation (NOP)
      Type: 1
      0... .... = Copy on fragmentation: No
      .00. .... = Class: Control (0)
      ...0 0001 = Number: No-Operation (NOP) (1)
      No-Operation (NOP)
      Type: 1
      0... .... = Copy on fragmentation: No
      .00. .... = Class: Control (0)
      ...0 0001 = Number: No-Operation (NOP) (1)
      Timestamps: TSval 119309230, TSecr 578168889
      Kind: Time Stamp Option (8)
      Length: 10
      Timestamp value: 119309230
      Timestamp echo reply: 578168889
      [SEQ/ACK analysis]
      [Bytes in flight: 128]
      [PDU Size: 128]
      OpenFlow 1.3
      Version: 1.3 (0x04)
      Type: OFPT_FLOW_MOD (14)
      Length: 128
      Transaction ID: 13579669
      Cookie: 0x0000000000000000
      Cookie mask: 0x0000000000000000
      Table ID: 0
      Command: OFPFC_ADD (0)
      Idle timeout: 0
      Hard timeout: 0
      Priority: 32768
      Buffer ID: OFP_NO_BUFFER (0xffffffff)
      Out port: OFPP_ANY (0xffffffff)
      Out group: OFPG_ANY (0xffffffff)
      Flags: 0x0000
      .... .... .... ...0 = Send flow removed: False
      .... .... .... ..0. = Check overlap: False
      .... .... .... .0.. = Reset counts: False
      .... .... .... 0... = Don't count packets: False
      .... .... ...0 .... = Don't count bytes: False
      Pad: 0000
      Match
      Type: OFPMT_OXM (1)
      Length: 24
      OXM field
      Class: OFPXMC_OPENFLOW_BASIC (0x8000)
      0000 000. = Field: OFPXMT_OFB_IN_PORT (0)
      .... ...0 = Has mask: False
      Length: 4
      Value: 78
      OXM field
      Class: OFPXMC_OPENFLOW_BASIC (0x8000)
      0000 101. = Field: OFPXMT_OFB_ETH_TYPE (5)
      .... ...0 = Has mask: False
      Length: 2
      Value: IP (0x0800)
      OXM field
      Class: OFPXMC_OPENFLOW_BASIC (0x8000)
      0000 110. = Field: OFPXMT_OFB_VLAN_VID (6)
      .... ...0 = Has mask: False
      Length: 2
      ...1 .... .... .... = OFPVID_PRESENT: True
      .... 1100 0110 0010 = Value: 3170
      Instruction
      Type: OFPIT_APPLY_ACTIONS (4)
      Length: 56
      Pad: 00000000
      Action
      Type: OFPAT_SET_FIELD (25)
      Length: 16
      OXM field
      Class: OFPXMC_OPENFLOW_BASIC (0x8000)
      0000 110. = Field: OFPXMT_OFB_VLAN_VID (6)
      .... ...0 = Has mask: False
      Length: 2
      ...1 .... .... .... = OFPVID_PRESENT: True
      .... 0000 0111 1011 = Value: 123
      Pad: 000000000000
      Action
      Type: OFPAT_SET_FIELD (25)
      Length: 16
      OXM field
      Class: OFPXMC_OPENFLOW_BASIC (0x8000)
      0000 111. = Field: OFPXMT_OFB_VLAN_PCP (7)
      .... ...0 = Has mask: False
      Length: 1
      Value: 03
      Pad: 00000000000000
      Action
      Type: OFPAT_OUTPUT (0)
      Length: 16
      Port: 40
      Max length: 0
      Pad: 000000000000

      -------------------------------------------------------------

      -------------------------------------------------------------
      opendaylight-action-types.yang:

      typedef vlan-cfi

      { type int32; }

      -------------------------------------------------------------

      -------------------------------------------------------------
      openflow-extensible-match.yang:

      case vlan-vid-case {
      container vlan-vid {
      leaf vlan-vid

      { type uint16; }

      leaf cfi-bit

      { type boolean; }

      leaf mask

      { type binary; }

      }
      }
      -------------------------------------------------------------

            Unassigned Unassigned
            ronald.vanderpol@rvdp.org Ronald van der Pol
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: