247 Commits

Author SHA1 Message Date
Ray Milkey
08b03a9ec8 Starting snapshot 1.11.0-SNAPSHOT
Change-Id: I5aa84e241545dace6192243c0079924ddf899404
2017-05-15 18:40:20 +00:00
Saurav Das
1547b3ffd8 CORD-1180 Collection of fixes for hash-group buckets. Required the following changes:
Next-objectives that edited groups are now queued in the FlowObjectiveManager instead of the driver.
	  During linkup immediately checking for previous portups that should be added to a hash group.
	  A final retry 30 secs later to catch all ports that should be part of the same hash group.

Change-Id: I7ef450149d685890ca47932b8e559a0c11dc5ab4
2017-05-12 21:37:00 +00:00
Charles Chan
c53d617a29 CORD-1149 Allow configuring multiple IPv4/IPv6 addresses on one interface
We had this limit before because we derived VLAN from subnet.
We no longer do that and thus user should be free to config 0+ IPv4/IPv6 addresses

Change-Id: I144c618112e4b437ebf64ea3b5ab05a83263cb17
2017-05-04 21:22:07 +00:00
Ray Milkey
8fd28c7b80 Starting snapshot 1.10.0-SNAPSHOT 2017-05-02 14:37:34 -07:00
Ray Milkey
f0099022d2 Tagging 1.10.0-rc1 2017-05-02 14:35:27 -07:00
Saurav Das
961beb2c1b Bug fix: Do not create groups as a side effect when revoking routes
Also changing pendingGroups to a cache that will automatically purge failed groups
Improving log messagesin several places

Change-Id: I6843a66d58e623259c7fd20ffe64d56a46d963f0
2017-04-07 21:39:59 +00:00
Ray Milkey
e4afdb5f17 Fix Sonar errors: public data members in classes
Change-Id: I7aca37d5553436167ac6e7b2206392f88bddc118
2017-04-06 00:13:24 +00:00
Jon Hall
a3fcf6754a Fix Sonar issue:
Strings literals should be placed on the left side when checking for
equality

Change-Id: I4537e08936731ace55aeecb3ad941269ec1eb191
2017-04-05 22:54:30 +00:00
Charles Chan
d4f3a629b2 Refactoring ICMP handler in Segment Routing
- No longer handle ICMPv6 packets except those target routerIP and gatewayIP
- Remove source IP validation for ICMPv6 since IPv6 hosts often speak with their link local address

Change-Id: If92826c080a4643bad71b0d39fc89b7123dc11d5
2017-04-03 07:10:54 +00:00
Charles Chan
b1f8c7610d Bugfix: handle link updated event
A direct link might be transiently marked as indirect if BDDP is received before LLDP.
SR needs to handle link updated event such that it can process when an indirect link becomes direct.

Change-Id: I2330d55e0a8265d5a6f50bd7700781d6e20ebcf8
2017-03-31 21:27:05 +00:00
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