netlink-bindings 0.2.1-rev2

Type-safe Rust bindings for Netlink generated from YAML specifications
Documentation

# Operation "getroute"

## Do (request)

```rust
PushOpGetrouteDoRequest::new(&mut vec)
  .push_src(val) // &[u8]
  .push_dst(val) // &[u8]
  .push_iif(val) // u32
  .push_oif(val) // u32
  .push_ip_proto(val) // u8
  .push_sport(val) // u16
  .push_dport(val) // u16
  .push_mark(val) // u32
  .push_uid(val) // u32
  .push_flowlabel(val) // u32
  ;
```

### Do (reply)

```rust
let attrs = OpGetrouteDoReply::new(buf);

attrs.get_dst(); // &[u8]
attrs.get_src(); // &[u8]
attrs.get_iif(); // u32
attrs.get_oif(); // u32
attrs.get_gateway(); // &[u8]
attrs.get_priority(); // u32
attrs.get_prefsrc(); // &[u8]
{ // Nested Metrics
  let attrs = attrs.get_metrics();
  attrs.get_lock(); // u32
  attrs.get_mtu(); // u32
  attrs.get_window(); // u32
  attrs.get_rtt(); // u32
  attrs.get_rttvar(); // u32
  attrs.get_ssthresh(); // u32
  attrs.get_cwnd(); // u32
  attrs.get_advmss(); // u32
  attrs.get_reordering(); // u32
  attrs.get_hoplimit(); // u32
  attrs.get_initcwnd(); // u32
  attrs.get_features(); // u32
  attrs.get_rto_min(); // u32
  attrs.get_initrwnd(); // u32
  attrs.get_quickack(); // u32
  attrs.get_cc_algo(); // &CStr
  attrs.get_fastopen_no_cookie(); // u32
}
attrs.get_multipath(); // &[u8]
attrs.get_flow(); // u32
attrs.get_cacheinfo(); // PushRtaCacheinfo
attrs.get_table(); // u32
attrs.get_mark(); // u32
attrs.get_mfc_stats(); // &[u8]
attrs.get_via(); // &[u8]
attrs.get_newdst(); // &[u8]
attrs.get_pref(); // u8
attrs.get_encap_type(); // u16
attrs.get_encap(); // &[u8]
attrs.get_expires(); // u32
attrs.get_pad(); // &[u8]
attrs.get_uid(); // u32
attrs.get_ttl_propagate(); // u8
attrs.get_ip_proto(); // u8
attrs.get_sport(); // u16
attrs.get_dport(); // u16
attrs.get_nh_id(); // u32
attrs.get_flowlabel(); // u32
```

## Dump (request)

```rust
PushOpGetrouteDumpRequest::new(&mut vec)
  ;
```

### Dump (reply)

```rust
let attrs = OpGetrouteDumpReply::new(buf);

attrs.get_dst(); // &[u8]
attrs.get_src(); // &[u8]
attrs.get_iif(); // u32
attrs.get_oif(); // u32
attrs.get_gateway(); // &[u8]
attrs.get_priority(); // u32
attrs.get_prefsrc(); // &[u8]
{ // Nested Metrics
  let attrs = attrs.get_metrics();
  attrs.get_lock(); // u32
  attrs.get_mtu(); // u32
  attrs.get_window(); // u32
  attrs.get_rtt(); // u32
  attrs.get_rttvar(); // u32
  attrs.get_ssthresh(); // u32
  attrs.get_cwnd(); // u32
  attrs.get_advmss(); // u32
  attrs.get_reordering(); // u32
  attrs.get_hoplimit(); // u32
  attrs.get_initcwnd(); // u32
  attrs.get_features(); // u32
  attrs.get_rto_min(); // u32
  attrs.get_initrwnd(); // u32
  attrs.get_quickack(); // u32
  attrs.get_cc_algo(); // &CStr
  attrs.get_fastopen_no_cookie(); // u32
}
attrs.get_multipath(); // &[u8]
attrs.get_flow(); // u32
attrs.get_cacheinfo(); // PushRtaCacheinfo
attrs.get_table(); // u32
attrs.get_mark(); // u32
attrs.get_mfc_stats(); // &[u8]
attrs.get_via(); // &[u8]
attrs.get_newdst(); // &[u8]
attrs.get_pref(); // u8
attrs.get_encap_type(); // u16
attrs.get_encap(); // &[u8]
attrs.get_expires(); // u32
attrs.get_pad(); // &[u8]
attrs.get_uid(); // u32
attrs.get_ttl_propagate(); // u8
attrs.get_ip_proto(); // u8
attrs.get_sport(); // u16
attrs.get_dport(); // u16
attrs.get_nh_id(); // u32
attrs.get_flowlabel(); // u32
```

# Operation "newroute"

## Do (request)

```rust
PushOpNewrouteDoRequest::new(&mut vec)
  .push_dst(val) // &[u8]
  .push_src(val) // &[u8]
  .push_iif(val) // u32
  .push_oif(val) // u32
  .push_gateway(val) // &[u8]
  .push_priority(val) // u32
  .push_prefsrc(val) // &[u8]
  .nested_metrics()
    .push_lock(val) // u32
    .push_mtu(val) // u32
    .push_window(val) // u32
    .push_rtt(val) // u32
    .push_rttvar(val) // u32
    .push_ssthresh(val) // u32
    .push_cwnd(val) // u32
    .push_advmss(val) // u32
    .push_reordering(val) // u32
    .push_hoplimit(val) // u32
    .push_initcwnd(val) // u32
    .push_features(val) // u32
    .push_rto_min(val) // u32
    .push_initrwnd(val) // u32
    .push_quickack(val) // u32
    .push_cc_algo(val) // &CStr
    .push_cc_algo_bytes(val) // &[u8]
    .push_fastopen_no_cookie(val) // u32
  .end_nested()
  .push_multipath(val) // &[u8]
  .push_flow(val) // u32
  .push_cacheinfo(val) // PushRtaCacheinfo
  .push_table(val) // u32
  .push_mark(val) // u32
  .push_mfc_stats(val) // &[u8]
  .push_via(val) // &[u8]
  .push_newdst(val) // &[u8]
  .push_pref(val) // u8
  .push_encap_type(val) // u16
  .push_encap(val) // &[u8]
  .push_expires(val) // u32
  .push_pad(val) // &[u8]
  .push_uid(val) // u32
  .push_ttl_propagate(val) // u8
  .push_ip_proto(val) // u8
  .push_sport(val) // u16
  .push_dport(val) // u16
  .push_nh_id(val) // u32
  .push_flowlabel(val) // u32
  ;
```

### Do (reply)

```rust
let attrs = OpNewrouteDoReply::new(buf);

// No attributes
```

# Operation "delroute"

## Do (request)

```rust
PushOpDelrouteDoRequest::new(&mut vec)
  .push_dst(val) // &[u8]
  .push_src(val) // &[u8]
  .push_iif(val) // u32
  .push_oif(val) // u32
  .push_gateway(val) // &[u8]
  .push_priority(val) // u32
  .push_prefsrc(val) // &[u8]
  .nested_metrics()
    .push_lock(val) // u32
    .push_mtu(val) // u32
    .push_window(val) // u32
    .push_rtt(val) // u32
    .push_rttvar(val) // u32
    .push_ssthresh(val) // u32
    .push_cwnd(val) // u32
    .push_advmss(val) // u32
    .push_reordering(val) // u32
    .push_hoplimit(val) // u32
    .push_initcwnd(val) // u32
    .push_features(val) // u32
    .push_rto_min(val) // u32
    .push_initrwnd(val) // u32
    .push_quickack(val) // u32
    .push_cc_algo(val) // &CStr
    .push_cc_algo_bytes(val) // &[u8]
    .push_fastopen_no_cookie(val) // u32
  .end_nested()
  .push_multipath(val) // &[u8]
  .push_flow(val) // u32
  .push_cacheinfo(val) // PushRtaCacheinfo
  .push_table(val) // u32
  .push_mark(val) // u32
  .push_mfc_stats(val) // &[u8]
  .push_via(val) // &[u8]
  .push_newdst(val) // &[u8]
  .push_pref(val) // u8
  .push_encap_type(val) // u16
  .push_encap(val) // &[u8]
  .push_expires(val) // u32
  .push_pad(val) // &[u8]
  .push_uid(val) // u32
  .push_ttl_propagate(val) // u8
  .push_ip_proto(val) // u8
  .push_sport(val) // u16
  .push_dport(val) // u16
  .push_nh_id(val) // u32
  .push_flowlabel(val) // u32
  ;
```

### Do (reply)

```rust
let attrs = OpDelrouteDoReply::new(buf);

// No attributes
```