-
- # show running config in json format
- if opts.show_config:
- print json.dumps(config, sort_keys=True, indent=4)
- sys.exit(0)
+ if opts.service_chain:
+ config.service_chain = opts.service_chain
+ if opts.service_chain_count:
+ config.service_chain_count = opts.service_chain_count
+ if opts.no_vswitch_access:
+ config.no_vswitch_access = opts.no_vswitch_access
+ if opts.no_int_config:
+ config.no_int_config = opts.no_int_config
+
+ # port to port loopback (direct or through switch)
+ if opts.l2_loopback:
+ config.l2_loopback = True
+ if config.service_chain != ChainType.EXT:
+ LOG.info('Changing service chain type to EXT')
+ config.service_chain = ChainType.EXT
+ if not config.no_arp:
+ LOG.info('Disabling ARP')
+ config.no_arp = True
+ config.vlans = [int(opts.l2_loopback), int(opts.l2_loopback)]
+ # disable any form of interface config since we loop at the switch level
+ config.no_int_config = True
+ LOG.info('Running L2 loopback: using EXT chain/no ARP')
+
+ if opts.use_sriov_middle_net:
+ if (not config.sriov) or (config.service_chain != ChainType.PVVP):
+ raise Exception("--use-sriov-middle-net is only valid for PVVP with SRIOV")
+ config.use_sriov_middle_net = True