TWSD-581 APV GENEVE feature CLI
Review Request #734 — Created March 21, 2025 and submitted — Latest diff uploaded
| Information | |
|---|---|
| jasonchang | |
| APV10 | |
| rel_apv_10_7 | |
| Reviewers | |
| mingji, timsu, weikai | |
/usr/click/bin/backend/geneve.chas been created to support GENEVE CLI commands in Geneve Generic Network Virtualization Encapsulation.Additionally, I have added the CLI structure in
/usr/click/lib/libparser/commands.pmto define the format of each CLI command, including its arguments, types, and whether they are optional.Following the approach used in VXLAN, I found that different VXLAN CLI command functions are defined in two separate files:
-./usr/src/sys/net/if_vxlan.c
-./usr/click/lib/libip/sip.cSimilarly, I have split the definition of Geneve functions into two different files:
-./usr/src/sys/net/if_geneve.c
-./usr/click/bin/backend/geneve.cHowever, this build only provides the Geneve framework, meaning it lacks actual functionality.
All CLI commands in Geneve Generic Network Virtualization Encapsulation are now available. A response message will be printed based on the provided arguments.
AN(config)#geneve interface g1 22
Set GENEVE: g1, VI number: 22AN(config)#no geneve associate g1 v1
GENEVE : g1, port name: v1AN(config)#show geneve bind g1
show GENEVE bindAN(config)#clear geneve tunnel
Clear GENEVE tunnelAN(config)#geneve ?
associate Associate GENEVE with VLAN to enable GENEVE gateway function
bind Bind a GENEVE interface to a GENEVE tunnel
disable Disable GENEVE
enable Enable GENEVE
forwarding Configure GENEVE forwarding entries
interface Create a GENEVE interface
learn Enable or disable GENEVE learning function
port Configure GENEVE port
tunnel Create a GENEVE tunnelAN(config)#no geneve ?
associate Disassociate GENEVE from VLAN
bind Unbind GENEVE interface from GENEVE tunnel
forwarding Delete GENEVE forwarding entries
interface Delete a GENEVE interface
tunnel Delete a GENEVE tunnelAN(config)#show geneve ?
all Display all configurations of GENEVE
associate Display associated Layer 2 configurations
bind Display tunnel binding configurations
forwarding Display all GENEVE forwarding entries
interface Display GENEVE interface configurations
learn Display GENEVE learn configurations
port Display GENEVE port configurations
tunnel Display GENEVE tunnel configurationsAN(config)#clear geneve ?
all Clear all GENEVE configurations
associate Clear associated Layer 2 configurations
bind Clear tunnel binding configurations of GENEVE interfaces
forwarding Clear GENEVE forwarding entries
interface Clear all GENEVE interfaces
tunnel Clear all GENEVE tunnels
