1. Facility port and p4

Facility port and p4

Home Forums FABRIC General Questions and Discussion Facility port and p4

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #8892
    Abdulhadi Sahin
    Participant

      slice ID: 998af367-fd08-4167-9c70-1aa0d82f6ead

      Hi,

      I have a question regarding an experimental setup with a node, a facility port, and a P4 switch in between. My issue is that I am unable to create a connection between the facility port and the node.

      To provide some context, I was able to replicate the “facility_port” example for FIU and can ping the FABRIC node from FIU, and vice versa.

      I can also replicate “Layer 2 Network Topology with Edgecore Wedge100BF-32X P4 Tofino Switch on FABRIC,” where a P4 switch is connected to two nodes that can ping each other.

      My goal in this experiment is to combine the two: instead of connecting two nodes to the P4 switch, I want to replace one of the nodes with a facility port. After creating the node and facility port, I set up SDX for the FIU facility port and defined the physical ports. Then I set up the P4 switch so it could transmit packets. However, I have not been able to ping the FIU server from the node or vice versa (slice ID: b6b88889-1024-451a-8d5c-727a465c3e7d). Below is how I set up the slice (please see the slice for more details):

      facility_port_vlan=’4017′
      facility_port_name = “AmLight-EXP-Layer2-FIU”
      slice_name = “DDoS with p4”
      node1_name = “DestNode”
      p4_name = “P4”
      network1_name = “net1”
      network2_name = “net2”
      model = “NIC_Basic”

      # print(f”VM Site: {site1}”)
      # print(f”P4 Site: {site2}”)
      # print(f”Facility Port Site: {facility_port_site}”)

      from ipaddress import ip_address, IPv4Address, IPv6Address, IPv4Network, IPv6Network

      # Create Slice
      slice = fablib.new_slice(name=slice_name)

      # Create Node 1 and its links
      node1 = slice.add_node(name=node1_name, site=site1)
      iface1 = node1.add_component(model=model, name=”nic1″).get_interfaces()[0]
      # iface1.set_mode(“config”)

      # Optional: Uncomment if Node1 needs an IP address
      # iface1.set_ip_addr(IPv4Address(“192.168.0.2”))

      # Create P4 switch and its links
      p4 = slice.add_switch(name=p4_name, site=site2)
      iface2 = p4.get_interfaces()[0] # Connects to net1
      iface3 = p4.get_interfaces()[1] # Connects to net2

      # Set VLAN tag on P4 switch’s interface (iface3) to match facility port
      iface3.set_vlan(facility_port_vlan) # Sets VLAN to ‘4018’ (string)

      # Add Facility Port
      facility_port = slice.add_facility_port(name=facility_port_name, site=facility_port_site, vlan=facility_port_vlan)
      facility_port_interface = facility_port.get_interfaces()[0]

      # Create Networks
      net1 = slice.add_l2network(name=network1_name, subnet=IPv4Network(“192.168.1.0/24”))
      net1.add_interface(iface1)
      net1.add_interface(iface2)
      net2 = slice.add_l2network(name=network2_name, subnet=IPv4Network(“192.168.1.0/24″)) # Layer 2 network for facility port
      net2.add_interface(iface3)
      net2.add_interface(facility_port_interface)

      # Submit Slice Request
      try:
      slice.submit()
      except Exception as e:
      print(f”Slice submission failed: {e}”)

       

      #8893
      Benjamin Formby
      Participant

        Hello Hadi,

        An announcement was posted earlier about FIU dataplane down which could be affecting your experiment. Updates should be posted on this thread about when it will be fixed:

        FABRIC FIU Dataplane connection is down

        Best,

        Benjamin

      Viewing 2 posts - 1 through 2 (of 2 total)
      • You must be logged in to reply to this topic.