237 Commits

Author SHA1 Message Date
Saurav Das
b28d5dd544 Bug fix - Do not create new next-objective if there are no
non-duplicate buckets to add.

Change-Id: I5bbf3f22225ae91efeed7f5987e771de209f725c
2017-03-27 22:34:52 +00:00
Charles Chan
0ed44fba4d CORD-1015 CPR bridging alternative
- Remove workaround introduced in gerrit #12604
- Add ability to respond to IPv6 solicited-node multicast address of gateway IPs

Change-Id: I7d1c9840a51e35d471303a8f723245a5bbc809ff
2017-03-22 20:36:16 +00:00
Charles Chan
a9f8ae4f84 Support tagged next hop in Segment Routing
Change-Id: I4e1a77b797a487a647c1b8e437ba8426f84a5ae0
2017-03-22 20:33:09 +00:00
Saurav Das
76ae6816b1 Bug fix: generate different next objectives for port with multiple vlans
Cleaning up some logs.

Change-Id: I0db119fdbc36ccbd25a382d54d3f9f731f8be1ec
2017-03-15 15:15:14 -07:00
Saurav Das
b0ae6ee49e CORD-999 changes to support vlans
Major changes to the DhcpRelay app
   Bug fix to not depend on global variables that can be overwritten
   App is now vlan aware i.e. client and server can be in different vlans
   Added probing of dhcpServer to get mac/vlan instead of configuring these values
   Added optional gateway IP for cases where dhcpServer is "behind" external router
Added support in host monitor for trunk vlan configurations
Javadoc fix in Interface.java
Commented out unused log message in HostLocationProvider
Bug fix to make ALL group editing vlan aware.

Change-Id: Ib04ed6c1ef45055f771983db29724cfde24ac54b
2017-03-07 23:38:27 +00:00
Charles Chan
c6d227e242 Implement an option in CPRM to reprogram the flows when device reconnecting
Also remove unused AsyncDeviceFetcher in FibInstaller

Change-Id: I52e778a51854efd6bfe47c56569efa5c27d7c7fb
2017-03-06 23:52:43 +00:00
Charles Chan
563a7818e2 Disable ARP/NDP forwarding/flooding
In the scenario where subnets and hosts are configured,
flows for forwarding/flooding should be provisioned.
A copy from the control plane will only cause duplication.
Therefore we are turning that off for now.
We might want to revisit this if we want to support ARP/NDP learning in the future.

Change-Id: I5d8d73c4bacdeabe969ce1ea4e24a4268d853df0
2017-03-06 23:37:29 +00:00
Charles Chan
7e4f81968e Eliminate code duplication
Change-Id: I79129b1dbcbba169b143730f89a38db64f5e460f
2017-03-06 23:31:29 +00:00
Charles Chan
7ffd81fdfa CORD-906 Support trunk and native VLAN
- Include trunk L2IG in L2F
- Populate bridging rules for trunk vlan
- Extend populateVlanMacFilters to generate filtering obj for trunk port
- Extend host handler to check vlan mismatch between host and interface
  (Temporarily disabled for now. Check TODOs in the code for detail.)
- Extend getForwardingObjectiveBuilder in RoutingRulePopulator to support tagged host

Change-Id: Id168a02015f58b0957ba43ad7c52798029d895bc
2017-03-06 23:25:45 +00:00
Charles Chan
f6ec153756 Refactor SR and OFDPA pipeliner
populateRouterMacVlanFilters -> populateVlanMacFilters
hostFwdObjBuilder -> bridgingFwdObjBuilder
getForwardingObjectiveBuilder -> routingFwdObjBuilder
refactor pipeline initialization

Change-Id: I94932cde5155706571085ff41cb4ef63e2a39844
2017-03-06 23:18:05 +00:00
Charles Chan
59cc16d9ee CORD-800 Use new interface vlan config for VLAN assignment
In addition
  - Change the name and type of INTERNAL_VLAN

Change-Id: I48bb89cc1cb1fe4155b4d889b1e7384c8bf673fa
2017-03-06 11:04:06 -08:00
Charles Chan
0aa674ea00 Unregister neighbor handler when deactivating segment routing
Change-Id: Ibcc1d8ccbcb5b64fbb77e2e857885df7d3cf6500
2017-02-23 15:44:08 -08:00
Saurav Das
018605fb4e In this commit: CORD-799
Bug fix for host-update to not remove and add the same IP addr
   NPE fix in ofdpa3pipeline
   Removing unused code in ofdpa2pipeline
   Ability to add or revoke port filters for port-updates
   Retry filters retry for a longer time
   Bug fix for suppress ports to not suppress filters
   Filters now sent only by master instance
   Removing the MPLS BOS=0 rules for now until inconsitent hardware behavior is fixed

Change-Id: I8b4ee4af6de263531e0696af86e65f1c502f5f85
2017-02-23 00:25:41 +00:00
Jon Hall
8c7b06ad07 Remove unnessasry semicolons
Change-Id: I8363e54ecaf80ad0a755d997ca1b9bbae2f1fa6e
2017-02-22 23:05:51 +00:00
Charles Chan
7a068749ee Fix the format of warning msg
Change-Id: I82a02bd088b025d4483297e46c64f63653a63663
2017-02-16 17:25:54 -08:00
Ray Milkey
54a78514d2 Starting snapshot 1.10.0-SNAPSHOT
Change-Id: Icd6983be6a52293fb8a846a02d5e314c2c7aeaf0
2017-02-13 11:13:52 -08:00
Ray Milkey
57b510152e Starting snapshot 1.10-SNAPSHOT
Change-Id: I800d5d9e7f23793f5288457bca449ca382896723
2017-02-13 11:06:55 -08:00
Ray Milkey
de84cdde9a Starting snapshot 1.9.0-SNAPSHOT 2017-02-13 10:54:12 -08:00
Ray Milkey
8588c48114 Tagging 1.9.0-b3 2017-02-13 10:52:31 -08:00
Pier Luigi
3bfe32ced0 [CORD-640] PW clean up.
Changes:
- Re-enable the pop mpls action for PW;
- OFDPA 3.0 has some changes in the pipeline
which don't allow the VLAN pop in the PW termination;

Change-Id: I42b5a3fe4b703d9c9af083768fb6b2decd6f54d7
2017-02-10 18:09:15 +00:00
Pier Ventre
70d53ba510 Implements [CORD-587] and [CORD-588]
Changes:
- Add termination in SR app;
- Add termination in the drivers

Change-Id: Ia9bb31c2c2e20acab8d6bfe27113f7421a8b83da
2017-02-10 18:03:33 +00:00
Pier Ventre
42287df667 Implements [CORD-96] and [CORD-410]
Changes:
- Introduces L2TunnelHandler for managing the pws;
- Supports pws initiation and pws policy for olt<->vsg communication;
- Supports teardown and update;

Change-Id: If51272c91445f618727434606edd2491f93cc4dd
2017-02-10 17:58:03 +00:00
Pier Ventre
f34966c5fc Implements [CORD-546]
Changes:
- Adds new l2 tunnel and l2 tunnel policy;
- Extends cfg of the apps;
- Implements CRUD interfaces through netcfg;

Change-Id: I1a295da605e2496f4883f63fa5f6eca16e627d43
2017-02-10 17:46:28 +00:00
Pier Ventre
917127ab8d [CORD-575] Implements VPWS transport in SR app
Changes:
- Enables the BoS==False use case;
- Adds RandomNeighborSet to emulate the hashing;

Change-Id: I5cc05eb25f5185e612061880fcdb194ed71277d8
2017-02-09 22:15:29 +00:00
Pier Luigi
9b1d626905 [CORD-783] Greedy learning of IPv6 hosts
- Opportunistic learning of IPv6 link local addresses

Change-Id: Ic94a8239c1ae81fc83453d1a29dfc8bd9803b531
2017-02-07 18:04:22 +00:00
Pier Luigi
721b662f5f Small fixes to SR
Change-Id: I4dfdbea082048bd48ea9be0a3bfea381ca395962
2017-02-06 18:25:33 +00:00
Charles Chan
e7926850ae Component config changes after vRouter becomes separate apps
- SR no longer needs to turn SSFI off using component config since SSFI is now an ONOS app.
- Distributed Route Store is now enabled by FpmManager instead of vRouter

Change-Id: Ia5665ffc9bdb4cd126868b3c829aedda713b53f4
2017-02-06 16:33:55 +00:00
Charles Chan
0b77bdda01 Fix Segment Routing dependency
Change-Id: Ifa74558d39944d6e20e6f8b34558ffc793c42784
2017-02-03 22:26:06 +00:00
Pier Luigi
7dad71ce54 Adding small handler to ICMPHandler
Change-Id: I8401c1564cc8aa89f8e3767ae83ec56c0dfe6fd0
2017-02-03 01:14:20 +00:00
Pier Luigi
0e35863305 Various fixes:
- Adds the support for the filter obj of AppConfigHandler;
- Fixes NPE on ICMP handler when rcving a packet from not configured ntw;

Change-Id: I44b90420429ca05927426bdf9a9ce4b78846b566
2017-02-03 00:59:51 +00:00
Pier Luigi
a905c0c7ba Fix npe when one of the address is not configured
Change-Id: If42b4d35bc20060db0bc0fe2699e3b375c2cf9f8
2017-02-03 00:54:56 +00:00
Pier Ventre
09f88b856d Removes leftovers of the previous patches.
Change-Id: Id1131762e94141eab472ff4a31035acc28979d43
2017-01-21 00:17:18 +00:00
Pier Ventre
968da12380 [CORD-520] IPv6 routing
Changes:
- Adds support for IPv6 host routing in the fabric;

Change-Id: I07369500de48f0945f09a5a1e8ab4c98be37978e
2017-01-21 00:07:23 +00:00
Pier Ventre
735b8c8ab2 [CORD-631] ICMPv6 Echo support
Changes:
- ICMPv6 Echo support;
- Introduces SegmentRoutingNeighbourHandler;
- Simplifies ArpHandler;
- Simplifies IcmpHandler;

Change-Id: I93f04d94ff15f43ca83f96cbab3da5064c215f9c
2017-01-21 00:01:55 +00:00
Pier Ventre
f4b5fceb0d [CORD-638] ICMPv6 NDP support
Changes:
- Adds the support for the ND protocol;
- Changes in several places Ip4Address and Ip4Prefix for general objects;

Change-Id: I7429b8f4acc9ffe432b49b66e66da50045996f7c
2017-01-21 00:01:18 +00:00
Pier Ventre
10bd8d11fa [CORD-458] Updates ARP handler
Changes:
- SR application uses NRM;
- Adds hooks for ND protocol;
- Updates ARP handler to better leverage on NRM;
- Reworks to take into account IPv4/IPv6 together;

Change-Id: Iab55b8c5ef7d973928d8ad47e2c2a482fb9c5c8a
2017-01-20 16:58:24 +00:00
Pier Ventre
e0ae7a3179 [CORD-630] IPv6 filtering rules
Changes:
- Udpates TMAC table in order to handle IPv6 protocol;
- Updates ACL table in order to handle ICMPv6 traffic and traffic for the router;
- Udpates UNICAST table in order to handle the traffic towards the other routers;
- Updates the router ip in the netcfg in order to handle IPv6 address;
- Substitutes IpAddress and IpPrefix in many parts;
- Updates cpqd and ofdpa drivers to handle the above cases;
- Fixes the interaction with NRM when neighbordiscovery is activated;
- Introduces the IPv6 loopback and IPv6 node sid;

Change-Id: I0a3003be6f2f4b581cabe224c47a0cfbf51e8f9c
2017-01-20 16:55:54 +00:00
Ray Milkey
287b4ae810 Starting snapshot 1.9.0-SNAPSHOT 2017-01-19 15:21:17 -08:00
Ray Milkey
2557ba3375 Tagging 1.9.0-b1b 2017-01-19 15:20:17 -08:00
Jon Hall
cbd1b39f58 Sonar fixes
Rule: Use isEmpty() to check whether the collection is empty or not.

Change-Id: Ib5ab56b2263623b297db56c5cac2c2ee80e12725
2017-01-19 20:24:18 +00:00
Patryk Konopka
1a3c0655ec [ONOS-5838] Missing null reference check bugfix
Change-Id: I843ad3a8777a80d9e86a4c1fe227c002a6772e1b
2017-01-19 18:08:28 +00:00
Charles Chan
77899538d0 Fix typo in SingleSwitchFibInstaller property
According to https://gerrit.onosproject.org/#/c/12436

Change-Id: I19278e75444b16f0d651c4d367fcd3aad58d6ba8
2017-01-19 17:27:37 +00:00
Charles Chan
50035637c0 Disable IpHandler in Segment Routing
Change-Id: Ibe39e29e1d2989ef78ad7d2f16d312f70cd15db2
2017-01-16 19:24:02 +00:00
Charles Chan
da5dc8c3c4 Bugfix for DHCP Relay
Relayed offer/ack should use relay agent IP as source and offered IP as destination

In addition,
   - Typo in log message
   - Remove unnecessary log

Change-Id: Id6331cc895884cd6025de6040bcf8ea60334ca5c
2017-01-16 18:48:37 +00:00
Pier Luigi
7e41513371 SR disables arp/ndp processing in NRM and DHCP relay
Change-Id: If67cb6e2c81718afcda372cf247d281b7a077f7b
2017-01-16 18:36:43 +00:00
Pier Luigi
9e5c5ca225 Various fixes and addition to the Fabric
Changes:
- Punts ARP packets to the controller using fobj;
- Disables intercepts in HLP when SR app is activated;

Change-Id: Ife098994f6d3c79fd73847657df0c08d856e7246
2017-01-16 17:00:42 +00:00
Charles Chan
03a73e0e70 CORD-523 Introduce generic routing service in Segment Routing
Segment Routing now reacts to routes being added/removed through RouteService.

SR will disable SingleSwitchFibInstaller if vRouter is activated

SR will install a routing table entry on
    - The leaf where next hop attaches to
    - The other leaves that points packets to the leaf where next hop attaches to

Host handler no longer add any IP flow for hosts outside the configured subnet
    - We need to explicitly add a per host route via RouteService when needed (vSG)

Change suppressSubnet behavior
    - Before: do not push any flow
    - After: ignore subnet config but still push filtering obj with VLAN 4094
             ARP handler drops all packets from suppressed ports

Additional refactoring
    - Remove vRouterId. Gateway router now needs to be specify through route API
    - Limit the scope of some variables
    - Unify handler.init method name

Change-Id: Idd2fd19fa74e3fa6209eef5cf2ed79957715c5e9
2017-01-12 18:55:40 +00:00
Charles Chan
2df0e8af5a Use new PacketService to request ARP with duplication
Change-Id: Id005772b0a69629ad3fb532d16a398d170234d88
2017-01-11 22:23:19 +00:00
Yuta HIGUCHI
a26109f689 fix potential race condition
Change-Id: I0bf9df79691e9b08af981348a75886b053404add
2017-01-10 23:30:48 +00:00
Charles Chan
68aaad547e Determines route IP by checking the interface config directly
Previously, SR checked the subnet data structure which contains
multiple subnets now in order to support generic routing.

A missing part of gerrit #11842.

Change-Id: Ia778c8ba5a42927d259c70bbb7538869270a7a1f
2016-12-12 23:24:48 +00:00