L3

Note

This command belongs to the shell mode for newer (logical-table) switch chips and is not available on Trident 3.

Manage L3 (IP) addresses

Built-in help

Usages:
    l3 init    - Init L3 function.
    l3 detach  - Detach L3 function.

    l3 ing_intf add
       [INTF=<val>] VRF=<val> [UrfpMode=<val>] [INtfClass=<val>]
       [QOSmapID=<val>] [DSCPTrust=<val>] [UrpfDefaultRouteCheck=<val>]
       [PIM_BIDIR=<val>
    l3 ing_intf delete INTF=<val>
    l3 ing_intf get INTF=<val>
    l3 ing_intf clear
    l3 ing_intf show

    l3 intf add
       [INTF=<val>] Vlan=<val> MAC=<val> [UnderLay=<val>]
    l3 intf delete INTF=<val>
    l3 intf get INTF=<val>
    l3 intf clear
    l3 intf show

    l3 egress add
       [EgrID=<val>] MAC=<val> Port=<val>  INTF=<val> [MOdule=<val>]
       [UnderLay=<val>] [Trunk=<val>] [L2tocpu=<val>]
    l3 egress delete EgrID=<val>
    l3 egress get EgrID=<val>
    l3 egress clear
    l3 egress show

    l3 ecmp add
       [GRouPID=<val>] [MaxPaths=<val>] [DynamicMode=<val>] [UnderLay=<val>]
       OL_INTF0=<val> OL_INTF1=<val> ... OL_INTF31=<val>
       UL_INTF0=<val> UL_INTF1=<val> ... UL_INTF31=<val>
       [SECondary=<val>]
    l3 ecmp delete GRouPID=<val>
    l3 ecmp get GRouPID=<val>
    l3 ecmp member insert GRouPID=<val> OL_INTF=<val> UL_INTF=<val>
    l3 ecmp member remove GRouPID=<val> OL_INTF=<val> UL_INTF=<val>
    l3 ecmp clear
    l3 ecmp show
    l3 ecmp perf

    l3 host add
       {ip=<val> | ip6=<val>} [vrf=<val>] [tc=<val>] intf=<val> [ul_intf=<val>]
       [ecmp=<bool>] [<Replace>=<bool>] [<PortDBID>=<val>]
    l3 host delete
       {ip=<val> | ip6=<val>} [vrf=<val>] [tc=<val>] [<PortDBID>=<val>]
    l3 host get
       {ip=<val> | ip6=<val>} [vrf=<val>] [tc=<val>] [<PortDBID>=<val>]
    l3 host clear [v6=<bool>]
    l3 host show [v6=<bool>] [start=<val>] [end=<val>]
    l3 host age

    l3 route add
       {ip=<val> | ip6=<val> | Mac=<val>} {masklen=<val> | MacMask=<val>}
       [vrf=<val>] [tc=<val>] [ecmp=<bool>]
       intf=<val> [ul_intf=<val>] [DEFaultIntf=<val>] [DstDiscard=<bool>] [<Replace>=<bool>]
       [FORTE=<bool>] [AggHostWidth=<val>] [AggHostOffset=<val>]
       [DENse=<bool>] [AFR=<bool>] [BASE=<val>] [<PortDBID>=<val>]
    l3 route delete
       {ip=<val> | ip6=<val> | Mac=<val>} {masklen=<val> | MacMask=<val>}
       [vrf=<val>] [tc=<val>] [FORTE=<bool>]
       [DENse=<bool>] [AFR=<bool>] [<PortDBID>=<val>]
    l3 route get
       {ip=<val> | ip6=<val> | Mac=<val>} {masklen=<val> | MacMask=<val>}
       [vrf=<val>] [tc=<val>] [FORTE=<bool>]
       [DENse=<bool>] [AFR=<bool>] [BASE=<val>] [COUNT=<val>] [<PortDBID>=<val>]
    l3 route clear [v6=<bool>] [vrf=<val>]
       [DENse=<bool>] [AFR=<bool>]
           - vrf: -1 - OVERRIDE, -2 - GLOBAL; -4 - VRF_ALL.
    l3 route show [v6=<bool>] [start=<val>] [end=<val>]
       [DENse=<bool>] [AFR=<bool>]
    l3 route perf v4v6=<val> OPs=<val> [VRF_OPs=<val>] [loops=<val>]
                  [nsets=<val>] [DataMode=<val>] [UseApi=<bool>] [FORTE=<bool>]
                  [DENse=<bool>] [AFR=<bool>]
           - Test L3 route operation performance.
           - v4v6: 1 - IPv4; 2 - IPv6; 3 - IPv4 + IPv6; 4 - IPv6 + IPv4.
           - OPs: B0 - Add, B1 - Update, B2 - Lookup, B3 - Delete.
           - VRFs: B0 - VRF, B1 - GLOBAL, B2 - OVERRIDE.
                   Default: 3 for parallel, 1 for combined.
           - loops: Number of runs. Forced to 1 if no delete operation.
           - nsets: Number of sets.
           - DataMode: 1 - Reduced, 2 - Full.(for XFS only), 3 - 32 or 49 bits data
           - UseApi: 1 - Use BCM API.
           - FORTE: 1 - Use FORTE ALPM.
           - DENse: 1 - Add dense routes.
           - AFR: 1 - Add AFR routes.

    l3 tunnel_init create [<TnlId>=<val>] <TYpe>=<val> <TTL>=<val>
       <DIP>=<val> <SIP>=<val> <DSCPEcnSel>=<val> <DSCPV>=<val>
       <DFSEL4>=<val> <DFSEL6>=<val> <SIP6>=<val> <DIP6>=<val>
       <DSCPEcnMap>=<val>
    l3 tunnel_init get <TnlId>=<val>
    l3 tunnel_init destroy <TnlId>=<val>
    l3 tunnel_init set <INtf>=<val> <TYpe>=<val> <TTL>=<val>
       <Mac>=<val> <DIP>=<val> <SIP>=<val> <DSCPSel>=<val> <DSCPV>=<val>
       <DFSEL4>=<val> <DFSEL6>=<val> <SIP6>=<val> <DIP6>=<val>
    l3 tunnel_init show <INtf>=<val>
    l3 tunnel_init clear <INtf>=<val>
    l3 tunnel_term add <TYPE>=<val> <DIP>=<val> <SIP>=<val>
       <DipMaskLen>=<val> <SipMaskLen>=<val> <DIP6>=<val> <SIP6>=<val>
       <OuterTTL>=<bool>
       <OuterDSCP>=<val>
       <VLanid>=<val>
       <Replace>=<bool> <EM>=<bool>
    l3 tunnel_term delete <TYPE>=<val> <DIP>=<val> <SIP>=<val> <EM>=<bool>
       <DipMaskLen>=<val> <SipMaskLen>=<val> <DIP6>=<val> <SIP6>=<val>
    l3 tunnel_term show <TYPE>=<val> <DIP>=<val> <SIP>=<val> <EM>=<bool>
       <DipMaskLen>=<val> <SipMaskLen>=<val> <DIP6>=<val> <SIP6>=<val>

    l3 nat_egress add <NAPT>=<val> <SAT>=<val> <DNAT>=<val>
       <SNAT_ID>=<val> <DNAT_ID>=<val>
       <SIP>=<val> <DIP>=<val>
       <SPORT>=<val> <DPORT>=<val>
    l3 nat_egress get <NAPT>=<val> <SAT>=<val> <DNAT>=<val>
       <SNAT_ID>=<val> <DNAT_ID>=<val>
    l3 nat_egress destroy <NAPT>=<val> <SAT>=<val> <DNAT>=<val>
       <SNAT_ID>=<val> <DNAT_ID>=<val>
    l3 nat_egress show <NAPT>=<val> <SAT>=<val> <DNAT>=<val>

    l3 nat_ingress add <NAPT>=<val> <DST_DISCARD>=<val>
       <IP>=<val> <VRF>=<val> <PROTO>=<val> <L4_PORT>=<val>
       <NAT_ID>=<val> <NEXTHOP>=<val>
       <SREALM_ID>=<val> <CLASS_ID>=<val>
    l3 nat_ingress get <NAPT>=<val> <DST_DISCARD>=<val>
       <IP>=<val> <VRF>=<val> <PROTO>=<val> <L4_PORT>=<val>
    l3 nat_ingress delete <NAPT>=<val> <DST_DISCARD>=<val>
       <IP>=<val> <VRF>=<val> <PROTO>=<val> <L4_PORT>=<val>
    l3 nat_ingress show <NAPT>=<val> <DST_DISCARD>=<val>

    l3 large_nat_egress add <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <NAT_ID>=<val>
       <SIP>=<val> <DIP>=<val>
       <SPORT>=<val> <DPORT>=<val>
    l3 large_nat_egress get <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <NAT_ID>=<val>
    l3 large_nat_egress delete <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <NAT_ID>=<val>
    l3 large_nat_egress show <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>

    l3 large_nat_ingress add <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <IP>=<val> <VRF>=<val> <PROTO>=<val> <L4_PORT>=<val>
       <NAT_ID>=<val> <NEXTHOP>=<val>
       <REALM_ID>=<val> <CLASS_ID>=<val>
    l3 large_nat_ingress get <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <IP>=<val> <VRF>=<val> <PROTO>=<val> <L4_PORT>=<val>
    l3 large_nat_ingress delete <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <IP>=<val> <VRF>=<val> <PROTO>=<val> <L4_PORT>=<val>
    l3 large_nat_ingress show <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>

    l3 large_nat_egress_ctrl add <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
       <IP>=<val>  <L4_PORT>=<val>
       <ING_INTF>=<val>  <CLASS_ID>=<val>
    l3 large_nat_egress_ctrl get <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
    l3 large_nat_egress_ctrl delete <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>
    l3 large_nat_egress_ctrl show <NAPT>=<val> <SNAT>=<val> <DNAT>=<val>

    l3 aacl add
       {ip=<val> | ip6=<val>} masklen=<val> l4_port=<val>
       l4_port_mask=<mask> vrf=<val> vrf_mask=<mask>
       mac=<val> ip_protocol=<val> tcp_flags=<val> ip_flags=<val>
       [<Replace>=<bool>] [<ip_src>=<bool>] [<class_id>=<val>] [<forte>=<bool>]
           - l4_port_mask: If mask_value is not 0xffff, it will be treated as 0.
           - vrf_mask: If mask_value is not 0xffff, it will be treated as 0.
    l3 aacl delete
       {ip=<val> | ip6=<val>} masklen=<val> l4_port=<val>
       l4_port_mask=<mask> vrf=<val> vrf_mask=<mask>
       mac=<val> ip_protocol=<val> tcp_flags=<val> ip_flags=<val>
       [<ip_src>=<bool>] [<forte>=<bool>]
    l3 aacl get
       {ip=<val> | ip6=<val>} masklen=<val> l4_port=<val>
       l4_port_mask=<mask> vrf=<val> vrf_mask=<mask>
       mac=<val> ip_protocol=<val> tcp_flags=<val> ip_flags=<val>
       [<ip_src>=<bool>] [<forte>=<bool>]
    l3 aacl clear [v6=<bool>] [<ip_src>=<bool>] [<forte>=<bool>]
    l3 aacl show [v4v6=<bool>] [<ip_src>=<bool>] [<forte>=<bool>]
           - v4v6: 0 - IPv4 + IPv6; 1 - IPv4; 2 - IPv6.
    l3 aacl perf v4v6=<val> OPs=<val> [loops=<val>]
                  [nsets=<val>] [UseApi=<bool>] [ip_src=<bool>]
           - Test L3 aacl operation performance.
           - v4v6: 1 - IPv4; 2 - IPv6; 3 - IPv4 + IPv6; 4 - IPv6 + IPv4.
           - OPs: B0 - Add, B1 - Update, B2 - Lookup, B3 - Delete.
           - loops: Number of runs. Forced to 1 if no delete operation.
           - nsets: Number of sets.
           - UseApi: 1 - Use BCM API.
           - ip_src: 0 - Destination address and dst L4 port.
                     1 - Source address and src L4 port.