# Layer 2 protocol: Ethernet
##############################################################################
list(APPEND VNET_SOURCES
+ ethernet/arp_packet.c
ethernet/ethernet_types_api.c
ethernet/format.c
ethernet/init.c
ethernet/types.def
ethernet/sfp.h
ethernet/p2p_ethernet.h
+ ethernet/arp_packet.h
)
list(APPEND VNET_API_FILES
list(APPEND VNET_SOURCES
l2/feat_bitmap.c
l2/l2_api.c
+ l2/l2_arp_term.c
l2/l2_bd.c
l2/l2_bvi.c
l2/l2_bvi_node.c
ip/icmp6.c
ip/ip46_cli.c
ip/ip_types_api.c
+ ip/ip46_address.c
ip/ip4_format.c
ip/ip4_forward.c
ip/ip4_punt_drop.c
ip/ip6_punt_drop.c
ip/ip6_hop_by_hop.c
ip/ip6_input.c
- ip/ip6_neighbor.c
+ ip/ip6_link.c
ip/ip6_pg.c
ip/reass/ip6_full_reass.c
ip/reass/ip6_sv_reass.c
- ip/rd_cp.c
- ip/ip_neighbor.c
ip/ip_api.c
ip/ip_checksum.c
ip/ip_frag.c
ip/ip4.h
ip/ip4_mtrie.h
ip/ip4_packet.h
+ ip/ip46_address.h
ip/ip6_error.h
ip/ip6.h
ip/ip6_hop_by_hop.h
ip/ip6_hop_by_hop_packet.h
ip/ip6_packet.h
- ip/ip6_neighbor.h
ip/ip.h
ip/ip_packet.h
ip/ip_source_and_port_range_check.h
- ip/ip_neighbor.h
ip/ip_types.h
ip/lookup.h
ip/ports.def
list(APPEND VNET_API_FILES
ip/ip.api
- ip/rd_cp.api
ip/punt.api
)
)
##############################################################################
-# Layer 2/3 ARP
+# Layer 3 neighbours
##############################################################################
list(APPEND VNET_SOURCES
- ethernet/arp.c
+ ip-neighbor/ip_neighbor.c
+ ip-neighbor/ip_neighbor_api.c
+ ip-neighbor/ip_neighbor_dp.c
+ ip-neighbor/ip_neighbor_types.c
+ ip-neighbor/ip_neighbor_watch.c
+ ip-neighbor/ip4_neighbor.c
+ ip-neighbor/ip6_neighbor.c
)
list(APPEND VNET_HEADERS
- ethernet/arp_packet.h
- ethernet/arp.h
+ ip-neighbor/ip_neighbor.h
+ ip-neighbor/ip_neighbor_types.h
+)
+
+list(APPEND VNET_API_FILES
+ ip-neighbor/ip_neighbor.api
)
##############################################################################
devices/virtio/vhost_user_api.c
devices/virtio/virtio.c
devices/virtio/virtio_api.c
+ devices/virtio/virtio_types_api.c
)
list(APPEND VNET_HEADERS
devices/virtio/pci.h
devices/virtio/virtio.h
devices/virtio/vhost_user.h
+ devices/virtio/virtio_types_api.h
)
list(APPEND VNET_MULTIARCH_SOURCES
list(APPEND VNET_API_FILES
devices/virtio/vhost_user.api
devices/virtio/virtio.api
+ devices/virtio/virtio_types.api
)
##############################################################################
fib/fib_node_list.c
fib/fib_entry.c
fib/fib_entry_src.c
- fib/fib_entry_src_rr.c
+ fib/fib_entry_src_adj.c
+ fib/fib_entry_src_api.c
+ fib/fib_entry_src_drop.c
fib/fib_entry_src_interface.c
fib/fib_entry_src_interpose.c
- fib/fib_entry_src_default_route.c
- fib/fib_entry_src_special.c
- fib/fib_entry_src_api.c
- fib/fib_entry_src_adj.c
- fib/fib_entry_src_mpls.c
fib/fib_entry_src_lisp.c
+ fib/fib_entry_src_mpls.c
+ fib/fib_entry_src_simple.c
+ fib/fib_entry_src_rr.c
fib/fib_entry_cover.c
fib/fib_entry_delegate.c
fib/fib_entry_track.c
fib/fib_path_list.c
fib/fib_path.c
fib/fib_path_ext.c
+ fib/fib_source.c
fib/fib_urpf_list.c
fib/fib_attached_export.c
fib/fib_api.c
fib/fib_node_list.h
fib/fib_entry.h
fib/fib_entry_delegate.h
+ fib/fib_source.h
)
list(APPEND VNET_API_FILES fib/fib_types.api)
list(APPEND VNET_API_FILES nhrp/nhrp.api)
+##############################################################################
+# ARP/ND
+##############################################################################
+
+list (APPEND VNET_SOURCES
+ arp/arp_api.c
+ arp/arp.c
+ arp/arp_proxy.c
+)
+
+list(APPEND VNET_HEADERS
+ arp/arp.h
+)
+
+list(APPEND VNET_API_FILES arp/arp.api)
+
+list (APPEND VNET_SOURCES
+ ip6-nd/ip6_mld.c
+ ip6-nd/ip6_nd.c
+ ip6-nd/ip6_nd_api.c
+ ip6-nd/ip6_nd_proxy.c
+ ip6-nd/ip6_ra.c
+ ip6-nd/rd_cp.c
+ ip6-nd/rd_cp_api.c
+)
+
+list(APPEND VNET_HEADERS
+ ip6-nd/ip6_nd.h
+)
+
+list(APPEND VNET_API_FILES
+ ip6-nd/ip6_nd.api
+ ip6-nd/rd_cp.api
+)
+
##############################################################################
# VNET Library
##############################################################################