diff options
author | 2016-04-26 10:49:53 -0400 | |
---|---|---|
committer | 2016-04-28 15:13:01 -0400 | |
commit | 99cb335ac1209d5bb7ede754f59d7df898ae0e81 (patch) | |
tree | 406b1741f6cbd1750ded32e6f047645080e74313 /vpp-api/java/japi/org/openvpp | |
parent | 1589576c57e4bfb2b81dc5237e0af74130cb908f (diff) |
VXLAN over IPv6.
Refactors the VXLAN node to work with both IPv4 and IPv6 transports.
There is a discussion thread for this change at
https://lists.fd.io/pipermail/vpp-dev/2016-March/000279.html
Note that this changes the binary configuration API to support both
address families; each address uses the same memory for either address
type and a flag to indicate which is in use. This also includes changes
to the Java API to support both address families.
The CLI and VAT syntax remains unchanged; the code detects whether an
IPv4 or an IPv6 address was given.
Configuration examples:
IPv4 CLI: create vxlan tunnel src 192.168.1.1 dst 192.168.1.2
vni 10 encap-vrf-id 0 decap-next l2
IPv6 CLI: create vxlan tunnel src 2620:124:9000::1 dst 2620:124:9000::2
vni 16 encap-vrf-id 0 decap-next l2
IPv4 VAT: vxlan_add_del_tunnel src 192.168.1.1 dst 192.168.1.2
vni 10 encap-vrf-id 0 decap-next l2
IPv6 VAT: vxlan_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2
vni 16 encap-vrf-id 0 decap-next l2
TODO: The encap path is not as optimal as it could be.
Change-Id: I87be8bf0501e0c9cd7e401be4542bb599f1b6e47
Signed-off-by: Chris Luke <chrisy@flirble.org>
Diffstat (limited to 'vpp-api/java/japi/org/openvpp')
-rw-r--r-- | vpp-api/java/japi/org/openvpp/vppjapi/vppVxlanTunnelDetails.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/vpp-api/java/japi/org/openvpp/vppjapi/vppVxlanTunnelDetails.java b/vpp-api/java/japi/org/openvpp/vppjapi/vppVxlanTunnelDetails.java index dd81e98cf27..fe3d0bca067 100644 --- a/vpp-api/java/japi/org/openvpp/vppjapi/vppVxlanTunnelDetails.java +++ b/vpp-api/java/japi/org/openvpp/vppjapi/vppVxlanTunnelDetails.java @@ -16,18 +16,20 @@ package org.openvpp.vppjapi; public final class vppVxlanTunnelDetails { - public final int srcAddress; - public final int dstAddress; + public final byte[] srcAddress; + public final byte[] dstAddress; public final int encapVrfId; public final int vni; public final int decapNextIndex; + public final boolean isIpv6; - public vppVxlanTunnelDetails(int srcAddress, int dstAddress, - int encapVrfId, int vni, int decapNextIndex) { + public vppVxlanTunnelDetails(byte[] srcAddress, byte[] dstAddress, + int encapVrfId, int vni, int decapNextIndex, boolean isIpv6) { this.srcAddress = srcAddress; this.dstAddress = dstAddress; this.encapVrfId = encapVrfId; this.vni = vni; this.decapNextIndex = decapNextIndex; + this.isIpv6 = isIpv6; } } |