summaryrefslogtreecommitdiff
path: root/libnl-route-3.sym
AgeCommit message (Collapse)Author
2019-09-01route/qdisc: adjust API for 64 bit rate/ceil support for htb classThomas Haller
- existing API/ABI must stay unchanged. We cannot change parameter types. Ad most we can add new variants that support 64 bit integers. - rtnl_tc_calc_txtime64() and rtnl_tc_calc_bufsize64() are trivial. We should not blow up the public API of libnl for such a thing. If the users needs it, they can just reimplement it. - getters should return an error code. Especially if the return type does not support encoding an error there. - don't add separate rs_rate64/rs_ceil64 field. Instead, extend the "rs_rate" field of "struct rtnl_ratespec" to 64 bits. It's internal API.
2019-09-01route/trivial: sort entries in "libnl-route-3.sym" asciibeticallyThomas Haller
2019-09-01xfrmi: introduce XFRM interfaces supportEyal Birger
XFRM interfaces were introduced in kernel 4.19. This commit adds link support for these interfaces. Signed-off-by: Eyal Birger <eyal.birger@gmail.com>
2018-10-22route/link: expose IFLA_INFO_SLAVE_KINDTobias Jungel
add rtnl_link_{get,set}_slave_type functions to expose the IFLA_INFO_SLAVE_KIND attribute.
2018-10-10route:act: add vlan actionVolodymyr Bendiuga
For more information please see: http://man7.org/linux/man-pages/man8/tc-vlan.8.html Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@westermo.se>
2018-10-10route:tc: allow to set chain index for tc objectsVolodymyr Bendiuga
This is useful when one wants to chain filters. Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@westermo.se>
2018-10-10build: sort entries in libnl-route-3.symThomas Haller
2018-07-26route:qdisc: add MQPRIO QdiscVolodymyr Bendiuga
More about Qdisc mqprio can be found at: http://man7.org/linux/man-pages/man8/tc-mqprio.8.html Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@westermo.se>
2018-06-25Add support for cloning cgroup filter object.d0u9
In this commit, we implement ematch_tree_clone(), which is basis of cgroup_clone() interface. The whole ematch tree is deep-copied except the e_ops filed. Also, a new unit test is added for testing the interface, which named as check-ematch-tree-clone.c located in tests directory. https://github.com/thom311/libnl/pull/176
2018-06-25neigh: add get/set functions for NEIGH_ATTR_MASTERTobias Jungel
Beeing able to set NEIGH_ATTR_MASTER hash based lookups are possible for AF_BRIDGE neighbours. https://github.com/thom311/libnl/pull/189
2018-06-25neigh: correct symbol exposedTobias Jungel
instead of exposing rtnl_neigh_ll_get the function rtnl_neigh_get_by_vlan has to be exposed Fixes: 3bf503d30c271822158414f63eed620afc9b10cd https://github.com/thom311/libnl/pull/187
2018-04-11route/class: add new api rtnl_class_get_by_parent()d0u9
This function searches a class cache previously allocated with rtnl_class_alloc_cache() and searches for a class matching the interface index and parent qdisc. https://github.com/thom311/libnl/pull/185
2018-04-11route:cls: add matchall classifierVolodymyr Bendiuga
This simple classifier allows any traffic pass through. Useful as an example for port mirroring. Signed-off-by: Volodymyr Bendiuga <volodymyr.bendiuga@westermo.se>
2018-04-06build: indent libnl-route-3.sym with tabsThomas Haller
2018-04-06rule: Add support for protocol and port rangesDavid Ahern
Add support for recent fib rule features - specifying a protocol that installed a rule and an IP protocol plus port range for rules. Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
2018-02-12link: add Geneve support.Wang Jian
Signed-off-by: Wang Jian <jianjian.wang1@gmail.com>
2018-01-18route: rename rtnl_cls_cache_set_tcm_params() and fix symbol versioningThomas Haller
After rethinking, "tcm_params" doesn't seem like a good name. Change it to "tc_params". Also, an already released section in the linker file must never be modified. It defeats the purpose of symbol versioning. Move the symbol to the right section.
2018-01-18Add new function for setting ifindex and parent of a classifier cache.d0u9
It is not good to give classifier cache users only one chance to set interface index and parent handle when allocte new cache. Sometimes we want to reuse classifier cache to reduce the overhead of allocating new memory everytime a new cache is created.
2018-01-16route: add rtnl_netem_set_delay_distribution_data() to linker scriptThomas Haller
And some style fixes.
2017-08-18route: Add support for MPLS encapDavid Ahern
Add support for MPLS lwtunnel encapsulation. Signed-off-by: David Ahern <dsahern@gmail.com>
2017-08-18route: Add support for ttl propagation in MPLS routesDavid Ahern
Add support for RTA_TTL_PROPAGATE attribute on a per-route basis. Used to enable/disable TTL propagation at LSP egress. Signed-off-by: David Ahern <dsahern@gmail.com>
2017-08-18route: Add support for MPLS address familyDavid Ahern
Add support for route in MPLS family. New attributes: - RTA_NEWDST - label stack for a nexthop - RTA_VIA - nexthop address (e.g., IPv4 or IPv6) Other changes required: - scope has to be universe for MPLS routes so fixup rtnl_route_guess_scope - priority attribute can not be set for MPLS. Change rtnl_route_parse to not set the attribute by default for AF_MPLS. - table attribute should not be set unless something other than the default table. For MPLS this attribute can not be set. '/' is the separator in label stacks for consistency with iproute2. Signed-off-by: David Ahern <dsahern@gmail.com>
2017-05-12rule: change API for setting/getting l3mdev rule propertyThomas Haller
- for rtnl_rule_set_l3mdev(), also allow unsetting the l3mdev field. In practice, kernel only allows for two options: either omit tb[FRA_L3MDEV] or set it to 1. As such, rtnl_rule_set_l3mdev() allows for both of these. In principle the setter could get extended to set other values. Such values are reserved. - for rtnl_rule_get_l3mdev() also return an error code. I think it is appropriate to mix value and negative error code, as long as the range of values cannot overlap with error codes. Arguably, the outcome is a bit awkward, as the function now is expected to return -NLE_MISSING_ATTR or 1. So, the best check is probably if (rtnl_rule_get_l3mdev(r) > 0) { ... } The reason for this change is that libnl should expose the netlink API without coercing uint8 to boolean. That way, future changes in kernel don't require update to libnl3. Signed-off-by: Thomas Haller <thaller@redhat.com>
2017-05-12route: Add support for MPLS to netconfDavid Ahern
Add support to netconf for MPLS address family. v2 - change get method to return 0/error and take 'int *val' which is set to the value requested - added rtnl_netconf_get_input to libnl-route-3.sym Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2017-05-12route: Add support for netconfDavid Ahern
Add route/netconf cache type to monitor RTM_*NETCONF messages. v2 - change get methods to return 0/error and take 'int *val' which is set to the value requested Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: Balakrishnan Raman <ramanb@cumulusnetworks.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2017-05-03route: fix symbol versioningThomas Haller
Once released, an existing symbol version must not be modified. Move the new symbols to the right section.
2017-05-03Do not increment refcount in rtnl_*_get_action APIs.Santhosh Kumar
2017-05-03Provide accessors for actions (rtnl_act).Santhosh Kumar
Add accessor functions to retrieve actions on a tc object and provide additional function to navigate the collection of actions.
2017-05-03route/link: add accessor API for IPv6 flagsMarkus Trapp
Add functions to access the IPv6 specific flags of a link object. Also the functions for IPv6 link flags translation are now exported, similar to the non IPv6 specific translation functions. https://github.com/thom311/libnl/pull/136
2016-12-06link: add support for IFLA_GSO_MAX_SEGS and IFLA_GSO_MAX_SIZETobias Klauser
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2016-12-06link: add support for IFLA_PHYS_SWITCH_IDTobias Klauser
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2016-12-06link: add support for IFLA_PHYS_PORT_NAMETobias Klauser
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2016-12-06link: add support for IFLA_CARRIER_CHANGESTobias Klauser
Also expose the attribute value via link_dump_details() Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2016-12-02route/act: add gact tc actionSushma Sitaram
Signed-off-by: Sushma Sitaram <sushma.sitaram@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com> http://lists.infradead.org/pipermail/libnl/2016-November/002249.html
2016-11-28route/cls: support setting of selector fieldsSushma Sitaram
Enables to set the shift, offset, mask and flags of the position to next header http://lists.infradead.org/pipermail/libnl/2016-September/002227.html http://lists.infradead.org/pipermail/libnl/2016-October/002232.html Signed-off-by: Sushma Sitaram <sushma.sitaram@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-28Add PPP supportJonas Johansson
This patch add support for kernel PPP interfaces. Signed-off-by: Jonas Johansson <jonasj76@gmail.com>
2016-11-24route: remove symbols of internal API from ABIThomas Haller
Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-24lib/route: SRIOV Set FunctionalityJef Oliver
* This patch adds functionality to set attributes on an SRIOV VF object. * This patch adds functionality to append attributes to the link change request sent to the kernel. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-24lib/route: SRIOV Info Dump FunctionsJef Oliver
This patch adds functions to dump information and stats for each SRIOV VF. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-24lib/route: SRIOV Utility FunctionsJef Oliver
This patch adds utility functions for translating link state and VLAN protocols for SRIOV VFs. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-24lib/route: SRIOV Clone SupportJef Oliver
This patch adds support for cloning SRIOV VF specific data in the link object. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-24lib/route: SRIOV Parse and Read supportJef Oliver
* This patch adds support for parsing SRIOV VF specific information on a link. * Adds LINK_ATTR_VF_LIST to add to link->ce_mask. * Extends the rtnl_link object to include 'l_vf_list', a member to carry information for SRIOV VFs. * Adds rtnl_link_sriov, a private structure to fill link->l_vf_list. * This patch adds support for reading parsed SRIOV VF specific informatino on a link. * This patch adds support for freeing stored SRIOV VF specific information on a link. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-11-05lib/route: Export correct ipgre functionalityJef Oliver
* Rename rtnl_link_get_pmtudisc to rtnl_link_ipgre_get_pmtudisc in ipgre.c, making the function correctly match the exported functionality in ipgre.h. This fixes an error when trying to use the function, returning an incorrect type usage due to the link module already having a function of the same name. * Export rtnl_link_is_[ipgre/ipgretap] allowing for usage per documentation. Reported-by: Sharada Shiddibhavi <sharada.shiddibhavi@intel.com> Signed-off-by: Jef Oliver <jef.oliver@intel.com>
2016-11-05vxlan: refactor setting/getting vxlan flagsThomas Haller
As these properties are FLAG types in the netlink API, we should also expose them as such in the libnl API. It is less code and require less code to support a new flag. The point is really to keep the API smaller instead of wasting a getter and setter for each flag.
2016-11-05vxlan: remove redundant enable/disable API from vxlanThomas Haller
The enable/disable API is redundant and increases the library in binary size and documentation. There should be one sensible way to do something, not several. Yes, there is prior act to that like rtnl_link_vxlan_disable_proxy(). That doesn't mean it should be repeated.
2016-11-05vxlan: fix exporting new symbolsThomas Haller
Once a version is released, the existing symbol version must not be extended. Fixes: d533736e2258457c090d396586da5c2ea32e5836
2016-10-30vxlan: add support for additional VXLAN attributes.Brandon Carpenter
Includes all VXLAN attributes as of Linux kernel 4.7.5. In particular it adds the following attributes: * IFLA_VXLAN_PORT, * IFLA_VXLAN_UDP_CSUM, * IFLA_VXLAN_UDP_ZERO_CSUM6_TX, * IFLA_VXLAN_UDP_ZERO_CSUM6_RX, * IFLA_VXLAN_REMCSUM_TX, * IFLA_VXLAN_REMCSUM_RX, * IFLA_VXLAN_GBP, * IFLA_VXLAN_REMCSUM_NOPARTIAL, * IFLA_VXLAN_COLLECT_METADATA, * IFLA_VXLAN_LABEL, * IFLA_VXLAN_GPE https://github.com/thom311/libnl/pull/110
2016-09-26macvlan: add support for "source" modeMichael Braun
This adds libnl support for new "source" mode. Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
2016-09-24lib/route: Support IFLA_BRIDGE_MODEJef Oliver
This patch adds support for hardware assisted bridge modes stored in IFLA_AF_SPEC[IFLA_BRIDGE_MODE]. This patch adds rtnl_link_[g/s]et_hwmode() functions, allowing for getting and setting the hardware mode for a bridged link. This patch adds the convenience functions for translating between integer and string names for hardware modes. This patch adds rtnl_link_bridge_set_self(), a function that stores flags in IFLA_AF_SPEC[IFLA_BRIDGE_FLAGS], an attribute that tells the kernel whether it should apply settings to the virtual bridge device or the hardware device itself. This requires hardware that supports the hardware flags. This patch adds bridge_fill_af(), a function to fill IFLA_AF_SPEC with AF_BRIDGE specific information. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
2016-09-24lib/route: Add port state translation functionsJef Oliver
This patch adds translation functions for translating the port state between integers and strings. Signed-off-by: Jef Oliver <jef.oliver@intel.com> Signed-off-by: Thomas Haller <thaller@redhat.com>