Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IPv6] Merge IPv6 branch to master #1518

Merged
merged 28 commits into from
Nov 11, 2020
Merged

[IPv6] Merge IPv6 branch to master #1518

merged 28 commits into from
Nov 11, 2020

Commits on Nov 11, 2020

  1. Enable verbose logging through generate-manifest.sh (#1142)

    This patch enables verbose logging for antrea-agent and
    antrea-controller when generate manifest. This will help in
    troubleshooting with increased log level.
    srikartati authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    d365b5f View commit details
    Browse the repository at this point in the history
  2. Bug in PR#1142 (#1248)

    manifest generation failing in release mode.
    Fixed the bug.
    srikartati authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    301814f View commit details
    Browse the repository at this point in the history
  3. [IPv6] Consume Node.Spec.CIDRs to support dual-stack configuration (#971

    )
    
    1. Consume Node.Spec.CIDRs to support IPv4/IPv6 dual-stack Pod Subnets
    2. Change NodeConfig.PodCIDR as a slice
    3. Change GatewayConfig.IP as a slice to support multiple addresses for antrea-gw0
    4. Change InterfaceConfig.IP as a slice to support multiple address for a Pod
    wenyingd authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    a9a646c View commit details
    Browse the repository at this point in the history
  4. [IPv6] Change openflow pipeline for L2 Pod networking (#1040)

    1. Add a new table named IPv6 to handle IPv6 ND Solicitation,
    ND advertisement and IPv6 Multicast traffic.
    
    2. Add flows in openflow tables (spoofGuardTable, IPv6,
    conntrackTable, conntrackStateTable, conntrackCommitTable,
    L2ForwardingOutTable) for handling IPv6 L2 Pod networking.
    mengdie-song authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    b004976 View commit details
    Browse the repository at this point in the history
  5. [IPv6] Change host-local IPAM configuration for IPv6 (#1039)

    1. Add new field Ranges in IPAMConfig for allocating
       both IPv4 and IPv6 addresses.
    
    2. Populate subnet and gateway for both IPv4 range and IPv6 range.
    mengdie-song authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    5183f5c View commit details
    Browse the repository at this point in the history
  6. [IPv6] Use separate fields for IPv4 and IPv6 in GatewayConfig (#1111)

    Replace IP slice in GatewayConfig with separate IPv4
    and IPv6 fields.
    mengdie-song authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    4a62c45 View commit details
    Browse the repository at this point in the history
  7. [IPv6] Implement L3 connectivity for IPv6 traffic (#1011)

    1. Use IPv6 in iptables and ipset configuration.
    2. Identifiy IPv6 address and configure in OpenFlow.
    3. Use Node Internal address for tunnel.
    wenyingd authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    a926dde View commit details
    Browse the repository at this point in the history
  8. [IPv6] Handle Spec.PodCIDR with IPv6 CIDR (#1151)

    For IPv6 single stack case, node.Spec.PodCIDR is
    configured with IPv6 CIDR. This patch handles the case
    and sets nodeConfig.PodIPv6CIDR with parsed CIDR.
    mengdie-song authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    1468e91 View commit details
    Browse the repository at this point in the history
  9. [IPv6] Add support for IPv6 address in antctl and agent's apiserver (#…

    …1118)
    
    * [IPv6] Add support for IPv6 address in antctl and agent's apiserver
    
    1. Support using IPv6 address in OVS tracing.
    2. Support displaying Node's and Pod's IPv6 address in agent apiserver.
    
    Co-authored-by: Zhecheng Li <zhechel1@uci.edu>
    2 people authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    2f96a0b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    210a8f3 View commit details
    Browse the repository at this point in the history
  11. [IPv6] Display dual stack NodeSubnet in antrea-octant-plugin (#1156)

    NodeSubnet can have two values in dual stack case and
    this patch enhances octant-plugin to show both subnets.
    mengdie-song authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    000fe89 View commit details
    Browse the repository at this point in the history
  12. [IPv6] Handle dual stack NodeSubnet for monitoring CRD (#1182)

    1. Rename NodeSubnet to NodeSubnets for AntreaAgentInfo.
    
    2. Make a new string slice for dual stack node subnet instead of
    appending agentInfo.NodeSubnets directly to avoid duplicate CIDRs.
    mengdie-song authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    295f952 View commit details
    Browse the repository at this point in the history
  13. [IPv6][e2e] Fix testDeletePod (#1193)

    On a dual-stack cluster, podInterfaces[0].IP returns "[ipv4-address], [ipv6-address]".
    Current implementation doesn't distingush two.
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    39f2b71 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    48f8eaf View commit details
    Browse the repository at this point in the history
  15. [IPv6] Add support for dual-stack when using kube-proxy for Service (#…

    …1200)
    
    1. Add a config item for IPv6 Serivce CIDR if using kube-proxy to
       provide Service functions.
    2. Output IPv6 traffic from host gateway if its destination is a
       Service address.
    3. Use ct_mark to identify Service traffic and output the reply
       packet to the host gateway to ensure the DNAT processing in iptables.
    wenyingd authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    ff93d80 View commit details
    Browse the repository at this point in the history
  16. [IPv6] Extend e2e tests for dual-stack (#1192)

    1. Extend generic functions "podWaitForIP" to return all assigned
       IPs of a given Pod.
    2. Validate each IP address in the cluster's network CIDR
    3. Use each valid IP to check connectivity.
    4. Use each valid IP to execute tests.
    wenyingd authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    e70edd6 View commit details
    Browse the repository at this point in the history
  17. [IPv6] E2e bug fixes (#1311)

    1. No -6 option in busybox nc
    So, no need to distinguish if it is an IPv6 environment for runNetcatCommandFromTestPod()
    nc
    BusyBox v1.31.1 (2019-10-28 18:40:01 UTC) multi-call binary.
    
    Usage: nc [OPTIONS] HOST PORT  - connect
    nc [OPTIONS] -l -p PORT [HOST] [PORT]  - listen
    
    	-e PROG	Run PROG after connect (must be last)
    	-l	Listen mode, for inbound connects
    	-lk	With -e, provides persistent server
    	-p PORT	Local port
    	-s ADDR	Local address
    	-w SEC	Timeout for connects and final net reads
    	-i SEC	Delay interval for lines sent
    	-n	Don't do DNS resolution
    	-u	UDP mode
    	-v	Verbose
    	-o FILE	Hex dump traffic
    	-z	Zero-I/O mode (scanning)
    2. testCert
    * IPv6 address should be in "[]"
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    3eb7a2d View commit details
    Browse the repository at this point in the history
  18. [IPv6] Fix TestReconcileGatewayRoutesOnStartup failure (#1313)

    Use "ip -6 route" for IPv6 network.
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    c4de3a2 View commit details
    Browse the repository at this point in the history
  19. [IPv6] adjust MTU for IPv6 overhead (#1305)

    If Antrea MTU is too large in IPv6 environment, large packet with overhead exceeds node MTU cannot be transmitted successfully across nodes.
    IPv6ExtraOverhead, 20 is from observation of IPv4 and IPv6 packets under same situation.
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    ab4ce42 View commit details
    Browse the repository at this point in the history
  20. [IPv6] Fix MTU config (#1317)

    Use Node's internal address to decide if extra IPv6 overhead is needed.
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    50cf482 View commit details
    Browse the repository at this point in the history
  21. [IPv6] Skip IPsec e2e test (#1373)

    * With OVS v2.14.0, IPsec in IPv6 envinronment is not supported.
    * More user-friendly output for PodIPs.
    From:
    Retrieved all Pod IPs: map[test-pod-0-upgp1ung:0xc000708960 test-pod-1-pbva9007:0xc0006ec8a0]
    To:
    Retrieved all Pod IPs: map[test-pod-0-mudzj847:IPv6: fd74:ca9b:172:16::4, IP strings: fd74:ca9b:172:16::4 test-pod-1-apcmyd30:IPv6: fd74:ca9b:172:16:1::3c, IP strings: fd74:ca9b:172:16:1::3c]
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    909035f View commit details
    Browse the repository at this point in the history
  22. [IPv6] Add 2 Network Policy tests (#1399)

    2 upstream Network Policy tests didn't consider netmask for IPv6, this patch
    is to add correct tests. When bug is fixed in latest release, these 2 tests can be deleted.
    Kubernetes PR:
    kubernetes/kubernetes#93583
    2 testcases:
    https://github.com/kubernetes/kubernetes/blob/v1.20.0-alpha.0/test/e2e/network/network_policy.go#L1365
    https://github.com/kubernetes/kubernetes/blob/v1.20.0-alpha.0/test/e2e/network/network_policy.go#L1444
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    905402a View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    41a0abc View commit details
    Browse the repository at this point in the history
  24. [IPv6] Fix after rebasing

    * format code
    * fix TestPodTrafficShaping
    * fix TestIPv6RoutesAndNeighbors
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    b265cb6 View commit details
    Browse the repository at this point in the history
  25. [IPv6] Fix issues (#1496)

    * unit test
    * manifest
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    5f6512d View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    a31a432 View commit details
    Browse the repository at this point in the history
  27. [IPv6] Add IPv6 support for NetworkPolicy

    1. Add enhancement in Antrea Controller and Agent to support NetworkPolicy
       in IPv6.
    2. Optimize test cases to support IPv6
    3. Use regex in CRD to validate IPv4 or IPv6 string
    4. Add TestEgressToServerInCIDRBlock and TestEgressToServerInCIDRBlockWithException
    5. networkpolicy_controller.go: PodIPs includes PodIP
    wenyingd authored and lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    3c5cdcf View commit details
    Browse the repository at this point in the history
  28. [IPv6] Fix issues

    * remove Github Actions integration test, Jenkins: jenkins-integration
    -> Integration tests
    * go fmt
    * add FlowProtocl() to interface Flow
    * remove extra lines when rebasing for an octant commit
    * TestIPv6RoutesAndNeighbors: routeClient.Initialize
    lzhecheng committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    267d1c0 View commit details
    Browse the repository at this point in the history