Add MANUAL proxy-arp mode and manual-ip-range to openconfig-if-ip IPv4 mode#1461
Add MANUAL proxy-arp mode and manual-ip-range to openconfig-if-ip IPv4 mode#1461jsingh2-c wants to merge 1 commit into
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
There was a problem hiding this comment.
Code Review
This pull request updates the OpenConfig IPv4 proxy ARP model to version 3.10.0, introducing a 'MANUAL' mode and a corresponding 'manual-ip-prefixes' list for explicit prefix configuration. The review feedback suggests improving the clarity of the documentation by explicitly referring to 'proxy ARP mode' in the descriptions of the new configuration elements to ensure consistency and avoid ambiguity.
|
Please add more description in the yang model of what the The Ciena link only goes to the main website. Please add a link to documentation describing the feature being added. |
Updated the Change Scope section to clearly explain the rationale for modeling manual (prefix-based) proxy ARP behavior and clarified MANUAL mode semantics. |
4483e30 to
9d624fb
Compare
|
Rebased the branch onto the latest upstream master. |
|
/gcbrun |
|
No major YANG version changes in commit 5d99115 |
|
Reviewed at the OC Operators Meeting on May 5th, 2026: Seems reasonable. Failing whitespace CI check can be fixed. Will move to last-call if there are no objections in 2 weeks. |
|
Reviewed in OC Operators Meet May 19th, 2026: Forgot to move to last-call, but the checks need to be fixed as well. Adding to last-call for next week. |
|
Thanks for the review and feedback so far. |
|
Given this PR is planned to be revised by the author, I am moving to the the "waiting for author" queue. Please ping us when ready for review. |
d10184a to
7c30fa5
Compare
- Add ipv4-address-range typedef with pattern and posix-pattern - Add MANUAL enum to proxy-arp mode with selective ARP response semantics - Add manual-ip-ranges list under proxy-arp with config/state separation - Bump openconfig-if-ip version to 3.10.0
7c30fa5 to
a4b95b1
Compare
|
@dplore The PR has been updated and is ready for review. Changes since last version:
|
…penconfig-if-ip model
Change Scope
Existing enum values (DISABLE, REMOTE_ONLY, ALL) remain unchanged.
Existing clients not using MANUAL mode are unaffected.
The new list is optional and has no operational effect unless mode=MANUAL.]
Platform Implementations
The platform requires operator‑controlled manual proxy ARP for deployment scenarios.
The implementation uses Linux kernel proxy ARP + NFtables filtering.
[link to documentation](Vendor documentation for this feature is currently internal and not publicly
shareable prior to feature completion. The externally visible behavior is fully described by the YANG model semantics.)
OpenROADM models a similar structure for proxy ARP entries as “proxy‑subnet” using CIDR prefixes, which our model aligns with conceptually. link to documentation
Tree View
[Next, cut and paste the relevant portion of the tree with enough context for reviewers to quickly understand the change.]
module: openconfig-if-ip augment /oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface: +--rw ipv4 +--rw addresses | +--rw address* [ip] | +--rw ip -> ../config/ip | +--rw config | | +--rw ip? oc-inet:ipv4-address | | +--rw prefix-length? uint8 | | +--rw type? ipv4-address-type | +--ro state | | +--ro ip? oc-inet:ipv4-address | | +--ro prefix-length? uint8 | | +--ro type? ipv4-address-type | | +--ro origin? ip-address-origin | +--rw vrrp | +--rw vrrp-group* [virtual-router-id] | +--rw virtual-router-id -> ../config/virtual-router-id | +--rw config | | +--rw virtual-router-id? uint8 | | +--rw virtual-address* oc-inet:ip-address | | +--rw priority? uint8 | | +--rw preempt? boolean | | +--rw preempt-delay? uint16 | | +--rw accept-mode? boolean | | +--rw advertisement-interval? uint16 | +--ro state | | +--ro virtual-router-id? uint8 | | +--ro virtual-address* oc-inet:ip-address | | +--ro priority? uint8 | | +--ro preempt? boolean | | +--ro preempt-delay? uint16 | | +--ro accept-mode? boolean | | +--ro advertisement-interval? uint16 | | +--ro current-priority? uint8 | +--rw interface-tracking | +--rw config | | +--rw track-interface* -> /oc-if:interfaces/interface/name | | +--rw priority-decrement? uint8 | +--ro state | +--ro track-interface* -> /oc-if:interfaces/interface/name | +--ro priority-decrement? uint8 +--rw proxy-arp | +--rw config | | +--rw mode? enumeration | +--ro state - | +--ro mode? enumeration + | | +--ro mode? enumeration + | +--rw manual-ip-ranges + | +--rw manual-ip-range* [ip-range] + | +--rw ip-range -> ../config/ip-range + | +--rw config + | | +--rw ip-range? union + | +--ro state + | +--ro ip-range? union +--rw neighbors | +--rw neighbor* [ip] | +--rw ip -> ../config/ip | +--rw config | | +--rw ip? oc-inet:ipv4-address | | +--rw link-layer-address oc-yang:phys-address | +--ro state | +--ro ip? oc-inet:ipv4-address | +--ro link-layer-address oc-yang:phys-address | +--ro origin? neighbor-origin